-- local zaiji = fk.CreateSkill{
--   name = "wk_heg__zaiji",
-- }

-- Fk:loadTranslationTable{
--   ["wk_heg__zaiji"] = "载集",
--   [":wk_heg__zaiji"] = "若你本回合手牌数未变化过，你可以摸一张牌并展示所有手牌，然后将其中所有♠牌当任意一张基本牌使用。",
--   ["#wk_heg__zaiji_pro"] = "载集：你可以摸一张牌并将所有黑桃手牌当任意一张基本牌使用。",

--   ["$wk_heg__zaiji1"] = "",
--   ["$wk_heg__zaiji2"] = "",
-- }

-- zaiji:addEffect("viewas", {
--   anim_type = "special",
--   pattern = ".|.|.|.|.|basic",
--   prompt = "#wk_heg__zaiji_pro",
--   interaction = function(self, player)
--     local all_names = Fk:getAllCardNames("b")
--     local target_cards = {}
--     for _, cid in ipairs(player:getCardIds("h")) do
--       if Fk:getCardById(cid).suit == Card.Spade then
--         table.insertIfNeed(target_cards, cid)
--       end
--     end
--     local names = player:getViewAsCardNames(zaiji.name, all_names, target_cards)
--     if #names > 0 then
--       return UI.CardNameBox { choices = names, all_choices = all_names }
--     end
--   end,
--   card_filter = Util.FalseFunc,
--   view_as = function(self, player, cards)
--     if not self.interaction.data then return end
--     local card = Fk:cloneCard(self.interaction.data)
--     card.skillName = zaiji.name
--     return card
--   end,
--   before_use = function(self, player, use)
--     player:drawCards(1, zaiji.name)
--     local cards = player.player_cards[Player.Hand]
--     player:showCards(cards)
--     local target_cards = {}
--     for _, cid in ipairs(player:getCardIds("h")) do
--       if Fk:getCardById(cid).suit == Card.Spade then
--         table.insertIfNeed(target_cards, cid)
--       end
--     end
--     if #target_cards == 0 then return "" end
--     use.card:addSubcards(target_cards)
--     if player:prohibitUse(use.card) then return "" end
--   end,
--   enabled_at_play = function(self, player)
--     return player:getMark("_wk_heg__zaiji-turn") == 0
--   end,
--   enabled_at_response = function(self, player, response)
--     return player:getMark("_wk_heg__zaiji-turn") == 0
--   end,
-- })

-- zaiji:addEffect(fk.EventAcquireSkill,{
--   can_refresh = function(self, event, target, player, data)
--     if not (player:hasSkill(zaiji.name) or player:isFakeSkill(zaiji.name)) then return false end
--     return target == player and data == zaiji
--   end,
--   on_refresh = function(self, event, target, player, data)
--     local room = player.room
--     if room:getTag("RoundCount") then
--       room.logic:getEventsOfScope(GameEvent.MoveCards, 1, function(e)
--         for _, move in ipairs(e.data) do
--           if move.to == player and move.toArea == Card.PlayerHand then
--             if player:getMark("_wk_heg__zaiji-turn") == 0 then
--               room:setPlayerMark(player, "_wk_heg__zaiji-turn", 1)
--             end
--           end
--           if move.from == player then
--             for _, info in ipairs(move.moveInfo) do
--               if info.fromArea == Card.PlayerHand then
--                 if player:getMark("_wk_heg__zaiji-turn") == 0 then
--                   room:setPlayerMark(player, "_wk_heg__zaiji-turn", 1)
--                 end
--               end
--             end
--           end
--         end
--       end, Player.HistoryTurn)
--     end
--   end,
-- })

-- zaiji:addEffect(fk.AfterCardsMove, {
--   can_refresh = function(self, event, target, player, data)
--     if not (player:hasSkill(zaiji.name) or player:isFakeSkill(zaiji.name)) then return false end
--     local room = player.room
--     for _, move in ipairs(data) do
--       if move.to == player and move.toArea == Card.PlayerHand then
--         return true
--       end
--       if move.from == player then
--         for _, info in ipairs(move.moveInfo) do
--           if info.fromArea == Card.PlayerHand then
--             return true
--           end
--         end
--       end
--     end
--   end,
--   on_refresh = function(self, event, target, player, data)
--     player.room:setPlayerMark(player, "_wk_heg__zaiji-turn", 1)
--   end,
-- })

-- return zaiji